package ar.edu.utn.frba.disenio.aterrizar;

import ar.edu.utn.frba.disenio.aterrizar.busquedas.*;
import ar.edu.utn.frba.disenio.aterrizar.filtros.Filtro;
import ar.edu.utn.frba.disenio.aterrizar.reserva.ManagerReserva;
import ar.edu.utn.frba.disenio.aterrizar.usuario.Usuario;
import ar.edu.utn.frba.disenio.aterrizar.usuario.UsuarioEstandar;
import ar.edu.utn.frba.disenio.aterrizar.aerolineas.*;
import com.lanchita.*;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Collection;

public class TestDecorator {

	public void mostrarVuelosBuscados(ArrayList<Vuelo> unaBusqueda){
		
		for(Vuelo unVuelo : unaBusqueda){
			System.out.print(unVuelo.codigo);
			System.out.print(";");
			System.out.print(unVuelo.valor);
			System.out.print(";");
			System.out.print(unVuelo.clase);
			System.out.print(";");
			System.out.print(unVuelo.ubicacion);
			System.out.print(";");
			System.out.print(unVuelo.estado);
			System.out.println();
		}
	}		
	
	@Test
	public void test(){
		CriterioBusqueda busqueda = new CriterioBusqueda("PER","USA","21/12/2012",1);
		Aerolinea aerolinea = new AdapterLanchita(AerolineaLanchita.getInstance());
		Usuario usuario = new UsuarioEstandar("Laura","Rodriguez","9877654");
		ManagerReserva manager = new ManagerReserva();
		
		Collection<String> clases = new ArrayList<String>();
		clases.add("Turista");
		clases.add("Primera");
		
		usuario.reservar("01202022323423-5", aerolinea, manager);
				
		Filtro filtro = new Filtro();
		filtro.addFiltroClase(clases);
		filtro.addFiltroUbicacion("Centro");
		filtro.addFiltroPrecio(0, 1000);
		filtro.addFiltroEstado("Todos", manager);
		
		usuario.buscarVuelos(aerolinea, busqueda, filtro, null);
		usuario.mostrarVuelosBuscados();
		
	}
}